Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO
■98MULTi CanBeコントロール
対象 PC-9821Cf・Cx・Cb・Cx2・Cb2・Cx3・Cb3・Na12・Na9・Na7・Nb7・Nx
解説 o 98MULTi CanBeでは、各種マルチメディア機能を制御するために特別なI/O
ポートがある。主にこのI/Oではリモコンの制御、サウンド機能の制御、
電源切断などを行う。またマルチメディア指向の98NOTEであるPC-9821Na7・Nx
も、この部分は98MULTi CanBeをベースとしており、同様のI/Oが存在する。
o 通常このI/Oアドレスは、I/O 0C24h,0C2Bh,0C2Dhにより再配置することが
できる。通常、I/O 0F4Ah,0F4Bhに設定されている。
o リモコンからの受信があると、CPUに対して割り込みが発生する。CPUでは、
この割り込みをフックすることでリモコンの状態を監視できる。
o 電源切断の処理を行う。PC-9821Cf・Cx・Cb・Cx2・Cb2・Cx3・Cb3では、
INT 1Fh - Function 98hによる電源切断がサポートされていないので、ソ
電源を切断するためには、直接ハードウェアを操作する必要がある。
関連 I/O 0C24h,0C2Bh,0C2Dh
I/O 0F4Ah
名前 リモコン制御[INDEX]
機能
bit 7〜0: レジスタ指定
* I/O 0F4Bhで読み書きするレジスタ番号を指定する
関連 I/O 0F4Bh
I/O 0C24h,0C2Bh,0C2Dh
I/O 0F4Bh
名前 リモコン制御[DATA]
機能
bit 7〜0: データ指定
* I/O 0F4Ahで指定されたレジスタを読み書きする。
--------+--------------------------------------------------------------
INDEX |用途
--------+--------------------------------------------------------------
00h |不明
--------+--------------------------------------------------------------
01h |サウンド割り込みアドレス
|[READ/WRITE]
| 00h= INT5
| 02h= INT41
| 03h= INT0
| 08h= INT1
| * WindowsSoundSystemで使用する割り込みアドレスが
| 設定される
|関連 I/O 0F40h bit 5〜3
--------+--------------------------------------------------------------
02h |不明
|
--------+--------------------------------------------------------------
03h |リモコンリセット
|[READ/WRITE]
|bit 7〜3: 不明
|bit 2: マイクスルー
| 1= マイクスルーする
| 0= マイクスルーしない
|bit 1: 不明
|bit 0: コントローラリセット
| 1= リセットする
| 0= リセットしない
--------+--------------------------------------------------------------
04h |ミュートコントロール
|[READ/WRITE]
|bit 7〜1: 不明
|bit 0: ミュート
| 1= ミュートする
| 0= ミュートしない
| * サウンド出力のミュートをコントロールする
--------+--------------------------------------------------------------
10h |リモコンデータステータス
|[READ]
|bit 7〜2: 未使用
|bit 1: ビジーフラグ
| 1= Reday
| 0= Busy
|bit 0: ステータス
| 1= 受信データあり
| 0= 受信データなし
| * リモコンからデータの受信があるとセットされ、CPUに
| 対して割り込みを発生する。
| I/O 0F4Ah,0F4Bh - 11hから受信コードを2バイトずつ
| 引き取ることでクリアされる。
--------+--------------------------------------------------------------
11h |リモコン受信コード
|[READ]
| 00000000b(00h)= [^](Ch UP)を押した
| 11111111b(FFh)= [^](Ch UP)を押したあと2回目に読まれる
| 00000001b(01h)= [v](Ch DOWN)を押した
| 11111111b(FEh)= [v](Ch DOWN)を押したあと2回目に読まれる
| 00000010b(02h)= [^](VOL UP)を押した
| 11111101b(FDh)= [^](VOL UP)を押したあと2回目に読まれる
| 00000011b(03h)= [V](VOL DOWN)を押した
| 11111100b(FCh)= [V](VOL DOWN)を押したあとに読まれる
| 00000100b(04h)= [^](EJECT)を押した
| 11111011b(FBh)= [^](EJECT)を押したあと2回目に読まれる
| 00000101b(05h)= [》||] を押した
| 11111010b(FAh)= [》||] を押したあと2回目に読まれる
| 00001001b(09h)= [MUTE] を押した
| 11110110b(F6h)= [MUTE] を押したあと2回目に読まれる
| 00001010b(0Ah)= [VIDEO] を押した
| 11110101b(F5h)= [VIDEO] を押したあと2回目に読まれる
| 00001100b(0Ch)= [>>] を押した
| 11110011b(F3h)= [>>] を押したあと2回目に読まれる
| 00001101b(0Dh)= [<<] を押した
| 11110010b(F2h)= [<<] を押したあと2回目に読まれる
| 00011101b(1Dh)= [MAIN/SUB]を押した
| 11100010b(E2h)= [MAIN/SUB]を押したあと2回目に読まれる
| 01000000b(40h)= [↑] を押した
| 10111111b(BFh)= [↑] を押したあと2回目に読まれる
| 01000001b(41h)= [↓] を押した
| 10111110b(BEh)= [↓] を押したあと2回目に読まれる
| 01000010b(42h)= [←] を押した
| 10111101b(BDh)= [←] を押したあと2回目に読まれる
| 01000011b(43h)= [→] を押した
| 10111100b(BCh)= [→] を押したあと2回目に読まれる
| 01001101b(4Dh)= [SIZE] を押した
| 10110010b(B2h)= [SIZE] を押したあと2回目に読まれる
| 01001110b(4Eh)= [ESC] を押した
| 10110001b(B1h)= [ESC] を押したあと2回目に読まれる
| 01001111b(4Fh)= [CR] を押した
| 10110000b(B0h)= [CR] を押したあと2回目に読まれる
| 01010011b(53h)= [TV] を押した
| 10101100b(ACh)= [TV] を押したあと2回目に読まれる
| 01011011b(5Dh)= [FREEZE] を押した
| 10100010b(A2h)= [FREEZE] を押したあと2回目に読まれる
| 01011110b(5Eh)= [CAPTURE] を押した
| 10100001b(A1h)= [CAPTURE] を押したあと2回目に読まれる
| * リモコンからの受信コードは、各ボタンに割り当てられた
| コード番号の形で得られる。
| * 各コードは、2バイトずつ連続して読み込む。2バイト目
| では、1バイト目のビット反転した値が読み出される。
--------+--------------------------------------------------------------
12h |不明
|
--------+--------------------------------------------------------------
13h |電源コントロール
|[WRITE]
| 80h,06h,00h,00h,80h,07h,00h,01h,80h,01h,00h,00h
| * このバイト列を書き込むと電源を切断する。
|
| 80h,05h,00h,00h
| * このバイト列を電源起動時に書き込んでいる。
|
|
|
|
--------+--------------------------------------------------------------
14h |■[CANBE]
|リモコンが使用する割り込み
|[READ/WRITE]
| bit 7〜3: 不明
| bit 2: リモコン割り込み
| 1= 使用しない
| 0= 使用する
| bit 1,0: リモコン割り込みアドレス
| 11b= INT41
| 10b= INT1
| 01b= INT2
| 00b= INT0
|* リモコンが使用する割り込みアドレスなどを設定する。
+--------------------------------------------------------------
|■[PC-9821Nx]
|不明
--------+--------------------------------------------------------------
30h |CanBe VOL1・2(YMF288出力) L
--------+--------------------------------------------------------------
31h |CanBe VOL1・2(YMF288出力) R
--------+--------------------------------------------------------------
32h |CanBe VOL3・4(LINE入力) L
--------+--------------------------------------------------------------
33h |CanBe VOL3・4(LINE入力) R
--------+--------------------------------------------------------------
34h |不明
--------+--------------------------------------------------------------
35h |不明
--------+--------------------------------------------------------------
関連 I/O 0F4Ah
I/O 0C24h,0C2Bh,0C2Dh
-------------------------------------------------------------------------------
■テレビチューナボード
対象 PC-9821Cf・Cx・Cb
解説 o PC-9821Cf・Cx・Cbにはテレビ画像のキャプチャリング,オーバーレイ等を
行うための専用テレビチューナボードが標準搭載されている。
関連 INT 0Eh
I/O 0960h
名前 TVチューナ制御[DATA]
Undocumented
機能
[READ/WRITE]
bit 15〜0: データ
--------+------------------------------------------------------
レジスタ|内容
--------+------------------------------------------------------
0000h |フリーズ設定
|bit 15〜1: 不明
|bit 0: フリーズ
| 1= フリーズする
| 0= フリーズしない
--------+------------------------------------------------------
0001h |不明
--------+------------------------------------------------------
0002h |不明
--------+------------------------------------------------------
0003h |キャプチャ範囲指定
|bit 15〜0: スクリーンX座標
--------+------------------------------------------------------
0004h |キャプチャ範囲指定
|bit 15〜0: スクリーンY座標
--------+------------------------------------------------------
0005h |キャプチャ範囲指定
|bit 15〜0: スクリーンXサイズ
--------+------------------------------------------------------
0006h |未使用
0007h |未使用
--------+------------------------------------------------------
0008h |不明Xサイズ
--------+------------------------------------------------------
0009h |不明Xサイズ
--------+------------------------------------------------------
000Ah |不明Yサイズ
--------+------------------------------------------------------
000Bh |不明Yサイズ
--------+------------------------------------------------------
000Ch |未使用
--------+------------------------------------------------------
000Dh |不明
--------+------------------------------------------------------
000Eh |未使用
000Fh |未使用
--------+------------------------------------------------------
0010h |不明
--------+------------------------------------------------------
0011h |表示位置
|bit 15〜10: 未使用
|bit 9〜0: スクリーン表示位置(X座標)
--------+------------------------------------------------------
0012h |表示位置
|bit 15〜10: 未使用
|bit 9〜0: スクリーン表示位置(Y座標)
--------+------------------------------------------------------
0013h |キャプチャ開始位置(ドット番号)
--------+------------------------------------------------------
0014h |キャプチャ開始位置(ライン番号)
--------+------------------------------------------------------
0015h |表示位置
|bit 15〜10: 未使用
|bit 9〜0: スクリーン表示位置(X座標)
--------+------------------------------------------------------
0016h |表示位置
|bit 15〜10: 未使用
|bit 9〜0: スクリーン表示位置(Y座標)
--------+------------------------------------------------------
0017h |右側マスク開始位置
|bit 15〜10: 未使用
|bit 9〜0: マスク開始位置(X座標)
--------+------------------------------------------------------
0018h |下側マスク開始位置
|bit 15〜10: 未使用
|bit 9〜0: マスク開始位置(Y座標)
--------+------------------------------------------------------
0019h |
: |未使用
001Fh |
--------+------------------------------------------------------
0020h |不明
--------+------------------------------------------------------
0021h |音声制御
|bit 15〜4: 未使用
|bit 3,2: 音声ミュート
| 11b= ミュートする
| 10b= ミュートする
| 01b= ミュートしない
| 00b= ミュートする
|bit 1,0: 不明
--------+------------------------------------------------------
解説 o I/O 0962hで指定されたレジスタを読み書きする。
関連 I/O 0962h
I/O 0962h
名前 TVチューナ制御[INDEX]
Undocumented
機能
[READ/WRITE]
bit 15〜0: レジスタ指定
解説 o I/O 0960hで読み書きするレジスタ番号を指定する。
o このポートに対して0000hを書き込んだ直後に読み出しを行ったとき、
正常に0000hが読み込めるかどうかで、ビデオキャプチャボードの存在を
検出することが可能である。
関連 I/O 0960h
I/O 0964h
名前 キャプチャデータ
Undocumented
機能
[READ]
bit 15〜0: データ
* キャプチャデータの引き取り
解説 o キャプチャしたデータを引き取る。
関連 I/O 0962h,0960h
I/O 0966h
名前 不明
Undocumented
機能
[READ/WRITE]
bit 7〜0: 不明
解説 o 詳細不明
関連 I/O 0967h
I/O 0967h
名前 不明
Undocumented
機能
[READ/WRITE]
bit 7〜0: 不明
解説 o 詳細不明
関連 I/O 0966h